/*
    Asignatura: Procesadores de lenguajes.
    Practica de labotario numero 10.
    Autores:
                Guillermo Garcia Juanes (Alu3889)
                Jose Antonio Hernandez Gonzalez (Alu3809)

    Fichero: Analex.g
    Contenido: Analizador Lexico definido en la practica.
*/
lexer grammar AnalexMiArbol;

@header{ package pl.equipo13.p10; }

/*----------------------------------------------------LEXICO----------------------------------------------------*/

/* Reglas */
fragment NUEVA_LINEA: ('\n' | '\r\n');
fragment DIGITO: '0'..'9';
fragment LETRA: ('A'..'Z') | ('a'..'z') | '.';
fragment GUIONBAJO: '_';
fragment GUION: '-';
fragment MAS: '+';
IGUAL: '=';
fragment MAYOR: '>';
fragment MENOR: '<';
fragment MAYORIGUAL: MAYOR IGUAL;
fragment MENORIGUAL: MENOR IGUAL;
fragment NEGADO: '!=';
fragment CMP: IGUAL IGUAL;
fragment ASTERISCO: '*';
fragment SLASH: '/';
NUMERO: (DIGITO)+('.'(DIGITO)+)?;
BLANCO: (' '|'\t'|NUEVA_LINEA) {$channel=HIDDEN;};
SEPARADOR: ';';
APARENTESIS: '(';
CPARENTESIS: ')';
IDENT: (LETRA | GUIONBAJO) (LETRA | GUIONBAJO | DIGITO)*;
OPERADORCOMPARAR: MAYOR | MENOR | MAYORIGUAL | MENORIGUAL | CMP | NEGADO;
OPERADORSUMRES: MAS | GUION;
OPERADORMULDIV: ASTERISCO | SLASH;